package com.cx.service;

import com.cx.dto.ProjectDTO;
import com.cx.dto.ProjectPageDTO;
import com.cx.util.PageResult;
import com.cx.util.ResultUtil;
import com.cx.vo.CommonVO;
import com.cx.vo.ProjectVO;
import com.cx.vo.StatusAndCountVO;
import com.cx.vo.TaskOfProjectVO;

import java.util.List;

/**
 * @Author: 晨曦
 * @Description: TODO
 * @DateTime: 2025/4/4 15:16
 **/
public interface ProjectService {
    ResultUtil add(ProjectDTO projectDTO);

    ResultUtil<PageResult<ProjectVO>> getProjectList(ProjectPageDTO projectPageDTO);

    ResultUtil updateStatusById(Integer id);

    ResultUtil updateProjectById(ProjectDTO projectDTO);

    ResultUtil<ProjectVO> selectProjectById(Integer id);

    ResultUtil deleteProById(Integer id);

    ResultUtil<List<StatusAndCountVO>> selectStatus();

    ResultUtil<List<TaskOfProjectVO>> selectTaskOfProject();

    ResultUtil<List<CommonVO>> selectUserOfProject();
}
